package com.jyy.prefabricated.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jyy.prefabricated.enums.BaseTeamEnum;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 项目信息表
 */
@Data
public class ProjectInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    private Integer id;

    /**
     * 项目分类
     */
    private Integer categoryId;

    /**
     * 报名类型
     */
    private Integer type;

    /**
     * 原价
     */
    private BigDecimal listPrice;

    /**
     * 售价
     */
    private BigDecimal price;

    private BigDecimal onePrice;

    private BigDecimal twoPrice;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date deadline;
    /**
     * 项目名称
     */
    private String name;

    /**
     * 考试信息
     */
    private String examInfo;

    /**
     * 证书
     */
    private String certificate;

    /**
     * 状态
     */
    private Integer status;

    /**
     * 封面
     */
    private String pic;

    /**
     * 项目简介
     */
    private String content;

    /**
     * 租户编码
     */
    private String teamCode = BaseTeamEnum.BASE.getValue();

    /**
     * 文档课程
     */
    private List<Course> documentCourses;

    /**
     * 录播课程
     */
    private List<Course> recordingCourses;

    /**
     * 题库
     */
    private List<QuestionBank> questionBanks;

    /**
     * 学习人数
     */
    private Integer studyCount;

    /**
     * 可分配数量
     */
    private Integer distributionNum;

    /**
     * 库存数量
     */
    private Integer stock;


    /**
     * 广告位位置
     */
    private Integer position;

    /**
     * 时间单位
     */
    private Integer unit;

    /**
     * 是否逻辑删除
     */
    private Boolean deleted = false;


    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date createTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date updateTime;

}